//
//  ZXZHomeViewController.swift
//  up_learnWB
//
//  Created by Mac on 16/10/20.
//  Copyright © 2016年 www.ZXZ123.com. All rights reserved.
//

import UIKit

// 注册homeId
private let homeID:String = "homeId"

/// MARK: 设置基本的视图
class ZXZHomeViewController: ZXZBaseViewController {

    // 创建一个数组 保存我的数据
    var  homeArray = [String]()

    let  viewModel:ZXZHomeStatusViewModel = ZXZHomeStatusViewModel()

    // 左侧按钮的响应事件 跳转到测试视图
    @objc private func leftItemClick(){

        navigationController?.pushViewController(ZXZDemoViewController(), animated: true)
    }


    override func setTableMainView() {
        super.setTableMainView()

        // 注册cellID
        tableView?.register(UITableViewCell.self, forCellReuseIdentifier: homeID)
        navItem.leftBarButtonItem = UIBarButtonItem(title: "测试", fontSize: 16, target: self, action: #selector(ZXZHomeViewController.leftItemClick))

        // 下拉刷新 加载数据
        tableView?.mj_header = MJRefreshNormalHeader(refreshingBlock: {
            self.tableView?.mj_header.beginRefreshing()
            // 实现下拉刷新
            self.loadData(isPull:.DOWN)
            self.tableView?.mj_header.endRefreshing()
        })


        // 上啦刷新
        tableView?.mj_footer =  MJRefreshAutoNormalFooter(refreshingBlock: {
            self.tableView?.mj_footer.beginRefreshing()
            // 实现上拉刷新
            self.loadData(isPull:.UP)
            self.tableView?.mj_footer.endRefreshing()
        })

    }



    // 默认是下拉
    override func loadData(isPull: isPullDid) {

        viewModel.loadHomeData(isPull: isPull) { (isSuccess:Bool) in
            if isSuccess{

                self.tableView?.reloadData()
            }
        }

    }
}


// 设置基本数据
extension ZXZHomeViewController{

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return viewModel.showHomeArray.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: homeID, for: indexPath)
        let model:ZXZHomeStatusModel = viewModel.showHomeArray[indexPath.row]
        cell.textLabel?.text = model.text
        return cell
        
    }
    
}
